<!DOCTYPE html>
<html class="x-admin-sm">
  <head>
    <meta charset="UTF-8" />
    <title>欢迎页面-X-admin2.2</title>
    <meta name="renderer" content="webkit" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta
      name="viewport"
      content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"
    />
    <link rel="stylesheet" href="./css/font.css" />
    <link rel="stylesheet" href="./css/xadmin.css" />
    <script
      type="text/javascript"
      src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"
    ></script>
    <script src="./lib/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="./js/xadmin.js"></script>
    <!-- 让IE8/9支持媒体查询，从而兼容栅格 -->
    <!--[if lt IE 9]>
      <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
      <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>
    <div class="x-nav">
      <span class="layui-breadcrumb">
        <a href="">首页</a>
        <a href="">演示</a>
        <a> <cite>导航元素</cite></a>
      </span>
      <a
        class="layui-btn layui-btn-small"
        style="line-height: 1.6em; margin-top: 3px; float: right"
        onclick="location.reload()"
        title="刷新"
      >
        <i class="layui-icon layui-icon-refresh" style="line-height: 30px"></i>
      </a>
    </div>
    <div class="layui-fluid">
      <div class="layui-row layui-col-space15">
        <div class="layui-col-md12">
          <div class="layui-card">
            <div class="layui-card-body">
              <form class="layui-form layui-col-space5">
                <div class="layui-input-inline layui-show-xs-block">
                  <input
                    class="layui-input"
                    placeholder="分类名"
                    name="keywordName"
                  />
                </div>
                <div class="layui-input-inline layui-show-xs-block">
                  <button class="add-button" lay-submit="" lay-filter="sreach">
                    <i class="layui-icon"></i>增加
                  </button>
                </div>
              </form>
              <hr />
            </div>
            <div class="layui-card-header">
              <button class="layui-btn layui-btn-danger" onclick="delAll()">
                <i class="layui-icon"></i>批量删除
              </button>
            </div>
            <div class="layui-card-body">
              <table class="layui-table layui-form">
                <thead>
                  <tr>
                    <th width="20">
                      <input type="checkbox" name="" lay-skin="primary" />
                    </th>
                    <th width="70">ID</th>
                    <th>栏目名</th>
                    <th width="350">操作</th>
                  </tr>
                </thead>

                <tbody class="x-cate">
                  <tr cate-id="1" fid="0">
                    <td>
                      <input type="checkbox" name="" lay-skin="primary" />
                    </td>
                    <td>1</td>
                    <td>
                      <i class="layui-icon x-show" status="true">&#xe623;</i>
                      产品管理
                    </td>
                    <td>
                      <input
                        type="text"
                        class="layui-input x-sort"
                        name="order"
                        value="1"
                      />
                    </td>
                    <td>
                      <input
                        type="checkbox"
                        name="switch"
                        lay-text="开启|停用"
                        checked=""
                        lay-skin="switch"
                      />
                    </td>
                    <td class="td-manage">
                      <button
                        class="layui-btn layui-btn layui-btn-xs"
                        onclick="xadmin.open('编辑','admin-edit.html')"
                      >
                        <i class="layui-icon">&#xe642;</i>编辑
                      </button>
                      <button
                        class="layui-btn layui-btn-warm layui-btn-xs"
                        onclick="xadmin.open('编辑','admin-edit.html')"
                      >
                        <i class="layui-icon">&#xe642;</i>添加子栏目
                      </button>
                      <button
                        class="layui-btn-danger layui-btn layui-btn-xs"
                        onclick="member_del(this,'要删除的id')"
                        href="javascript:;"
                      >
                        <i class="layui-icon">&#xe640;</i>删除
                      </button>
                    </td>
                  </tr>
                </tbody>
              </table>
            </div>
            <div class="layui-card-body">
              <div class="page">
                <div>
                  <a class="prev" href="">&lt;&lt;</a>
                  <a class="num" href="">1</a>
                  <span class="current">2</span>
                  <a class="num" href="">3</a>
                  <a class="num" href="">489</a>
                  <a class="next" href="">&gt;&gt;</a>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <script src="./js/jquery.min.js"></script>
    <script src="./js/request.js"></script>
    <script>
      let keywordList = [];
      const addButton = $(".add-button");
      const keyNameInput = $("input[name='keywordName']");
      const catePanel = $(".x-cate");
      const rowElement = `<tr cate-id="{{itemId}}" fid="{{parentId}}">
                    <td>
                      <input type="checkbox" name="" lay-skin="primary" />
                    </td>
                    <td>{{itemId}}</td>
                    <td>
                      <i class="layui-icon x-show" status="true">&#xe623;</i>
                      {{itemName}}
                    </td>
                    <td class="td-manage">
                      <button
                        class="layui-btn layui-btn layui-btn-xs"
                        onclick="xadmin.open('编辑','admin-edit.html')"
                      >
                        <i class="layui-icon">&#xe642;</i>编辑
                      </button>
                      <button
                        class="layui-btn layui-btn-warm layui-btn-xs"
                        onclick="xadmin.open('编辑','admin-edit.html')"
                      >
                        <i class="layui-icon">&#xe642;</i>添加相关课程
                      </button>
                      <button
                        class="layui-btn-danger layui-btn layui-btn-xs"
                        onclick="member_del(this,{{itemId}})"
                        href="javascript:;"
                      >
                        <i class="layui-icon">&#xe640;</i>删除
                      </button>
                    </td>
                  </tr>
                 `;

      $(function () {
        getKeywordList();
      });

      addButton.click((e) => {
        e.preventDefault();
        handleAddKeyword();
      });

      function getKeywordList() {
        $.ajax({
          url: "/keyword/listAll",
          type: "get",
          success: function (res) {
            keywordList = res.data;
            renderList(res.data);
          },
        });
      }

      function handleAddKeyword() {
        const keywordName = keyNameInput.val();
        if (keywordName === null || keywordName === "") {
          return;
        }
        const data = {
          keywordName,
        };

        $.ajax({
          url: "/keyword/",
          data: JSON.stringify(data),
          type: "post",
          success: function (res) {
            console.log(res);
            getKeywordList();
          },
        });
      }
      function renderList(keywordCourseList) {
        catePanel.html("");
        for (const keyword of keywordCourseList) {
          renderKeywordElement(keyword);
        }
        renderPanelStyle();
      }
      function renderKeywordElement(keyword) {
        let keywordItem = rowElement.replace(
          /{{itemName}}/gi,
          keyword.keywordName
        );
        keywordItem = keywordItem.replaceAll(/{{itemId}}/gi, keyword.id);
        keywordItem = keywordItem.replaceAll(/{{parentId}}/gi, 0);
        catePanel.append(keywordItem);

        const courseList = keyword.courseList;
        for (const course of courseList) {
          renderCourseElement(keyword.id, course);
        }
      }
      function renderCourseElement(keywordId, course) {
        let courseItem = rowElement.replace(
          /{{itemName}}/gi,
          course.courseName
        );
        courseItem = courseItem.replaceAll(/{{itemId}}/gi, course.id);
        courseItem = courseItem.replaceAll(/{{parentId}}/gi, keywordId);
        catePanel.append(courseItem);
      }
      function renderPanelStyle() {
        $("tbody.x-cate tr[fid!='0']").hide();
        // 栏目多级显示效果
        $(".x-show").click(function () {
          console.log($(this));
          if ($(this).attr("status") == "true") {
            $(this).html("&#xe625;");
            $(this).attr("status", "false");
            let cateId = $(this).parents("tr").attr("cate-id");
            $("tbody tr[fid=" + cateId + "]").show();
          } else {
            $(this).html("&#xe623;");
            $(this).attr("status", "true");
            let cateId = $(this).parents("tr").attr("cate-id");
            $("tbody tr[fid=" + cateId + "]").hide();
          }
        });
      }
    </script>
  </body>
</html>
